package com.zhongwang.mms.module.jiaGongStorage.model;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class JStorageDetail {
    private Integer odaId;
    /**
     * "外键：冲单替换的出入库单
     * 数据表的主键ID"
     */
    private Integer odaRushId;
    /**
     *外键依赖出入库单表
     */
    private Integer odaOdrId;
    /**
     * 1是入库,2是出库（领料）
     */
    private Integer odaType;
    /**
     * 项目号
     */
    private String odaProCode;
    /**
     * 项目名
     */
    private String odaProName;
    /**
     * 物料编码：本系统编码
     */
    private String odaMatCode;
    /**
     * 物料描述
     */
    private String odaMatDesc;
    /**
     * 数量
     */
    private Double odaNum;
    /**
     * 单价
     */
    private Double odaNumPrice;
    /**
     * 仓库内区位
     */
    private String odaPosition;
    /**
     * 仓库外键
     */
    private Integer odaWhiId;
    /**
     * 数量单位
     */
    private String odaNumUnit;
    /**
     * 总金额
     */
    private Double odaTotalPrice;
    /**
     * 品牌
     */
    private String odaBrand;
    /**
     * 备注
     */
    private String odaRemark;
    /**
     * 记账日期/存储数据库用
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")//这个是限制日期格式的
    @DateTimeFormat(value = "yyyy-MM-dd")//这个是限制日期格式的
    private Date odaBookkeepingDate;
    /**
     * 记账日期/页面用
     */

    private String odaBookkeepingDateWeb;
    /**
     * 特殊说明
     */
    private String odaSpec;
    /**
     * SAP物料编码
     */
    private String odaSapCode;
    /**
     * 跟踪号
     */
    private String odaTrackCode;
    /**
     * 红冲标识：0是非红冲数据，1是被红冲，2是红冲
     */
    private Integer odaRedFlag;
    /**
     * 红冲时间
     */
    private Date odaRedDate;
    /**
     * 红冲人员
     */
    private Integer odaRedUserId;
    /**
     * 重量单价
     */
    private Double odaWeightPrice;
    /**
     * 领用类型
     */
    private String odaTakeType;
    /**
     * 外键：调拨时记录出库仓
     */
    private Integer odaOutWhiId;
    /**
     * 外键：调拨时记录入库仓
     */
    private Integer odaInWhiId;
    /**
     * 用来记录来自哪个库存数据，外键：依赖库存表ID
     */
    private Integer odaOutItyId;
    /**
     * 记录串料出库时，祖先库存当时的库存数量，用来打印
     */
    private Double odaAtThatTimeAncestorsNum;
    /**
     * 记录串料出库时，祖先库存当时的项目号，用来打印
     */
    private String odaAtThatTimeAncestorsProCode;
    /**
     * 记录串料出库时，祖先库存当时的跟踪号，用来打印
     */
    private String odaAtThatTimeAncestorsTrackCode;
    /**
     * 在库类型：1是库存在库，2是项目在库
     */
    private Integer odaStockType;
    /**
     * 机械备件库备注类型
     */
    private String odaRemarkType;
    /**
     * 供应商
     */
    private String supplier;
    /**
     * 合同编号
     */
    private String contractNo;
    /**
     * 库存地 辅助
     **/
    private String warehouseLocation;
    /**
     * 辅助  项目在库或库存在库
     */
    private String odaItyStockType;
    //辅助
    private List<Integer> errorLineNumlist = new ArrayList<>();
    //辅助
    private Integer ityId;
}